1. Field of the Invention
The present invention generally relates to position-location systems, and more particularly, to background decoding of one or more satellite-navigation messages to maintain integrity of satellite-navigation data for a Global-Navigation-Satellite System.
2. Description of the Related Art
A Global-Navigation-Satellite-System (GNSS) receiver needs satellite-navigation data, such as satellite orbits and clock models, to compute distances to each of several satellites, which in turn, may be used to compute a position of the GNSS receiver. The distances are formed by computing time delays between transmission and reception of satellite signals broadcast from satellites in view of the GNSS receiver and received by the GNSS receiver on or near the surface of the earth. The time delays multiplied by the speed of light yield the distances from the GNSS receiver to each of the satellites that are in view.
In some current implementations, the type of satellite-navigation data acquired by the GNSS receiver is broadcast ephemeris data (or simply broadcast ephemeris) and broadcast satellite time, which are obtained by decoding satellite-navigation messages contained within the satellite signals. This broadcast ephemeris includes standard satellite orbits and clock models, and the broadcast satellite time is an absolute time associated with the entire constellation of satellites. The GNSS receiver uses the broadcast satellite time to unambiguously determine exact time of broadcast (e.g., by time tagging the transmission and reception) for each of the satellite signals.
With knowledge of the exact time of broadcast of each of the satellite signals, the GNSS receiver uses the broadcast ephemeris to calculate a satellite position for each of the satellites (i.e., where each of the satellites was) when it broadcast its corresponding satellite signals. The satellite positions along with the distances to the each of the satellites allow the position of the GNSS receiver to be determined.
By way of example, a Global Positioning System (GPS) receiver (i.e., one possible embodiment of the GNSS receiver) may receive from each orbiting GPS satellites in view of the GPS receiver a number of GPS signals that are formed using unique pseudo-random noise (PN) codes. These PN codes are commonly known as C/A codes, and each is used by the GPS receiver to uniquely identify which of the GPS satellites broadcast such the GPS signals. The GPS receiver determines the aforementioned time delays by comparing time shifts between or otherwise correlating sequences of (i) the PN codes of the broadcast GPS signals received at the GPS receiver and (ii) replicas of the PN codes locally generated by the GPS receiver.
At very low signal levels, the GPS receiver may obtain the PN codes of the broadcast GPS signals to provide unambiguous time delays by processing, and essentially averaging, many frames of the sequences of the PN codes. These time delays are called “sub-millisecond pseudoranges” because they are known modulo of the 1 millisecond boundaries of these frames. By resolving the integer number of milliseconds associated with each of the time delays to each of the satellite, then true, unambiguous pseudoranges may be determined. The process of resolving the unambiguous pseudoranges is commonly known as “integer millisecond ambiguity resolution.”
A set of four pseudoranges together with knowledge of (i) the absolute times of transmissions of the GPS signals, and (ii) satellite positions at such absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission are used for determining the positions of the satellites at the times of transmission, and hence, for determining the position of the GPS receiver.
Each of the GPS satellites move at approximately 3.9 km/s, and thus, the range of such satellite, as observed from the earth, changes at a rate of at most ±800 m/s. Errors in absolute may result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Errors in the absolute timing of much more than 10 ms result in large position errors, and so, current and prior implementations have typically required the absolute time to have a minimum accuracy of approximately 10 milliseconds.
Downloading the broadcast ephemeris from one or more of the satellites is always slow (i.e., no faster than 18 seconds given that the GPS satellite-navigation message is 900 bits in length and broadcast in a 50 bit-per-second (bps) data stream). When in environments in which the GPS signals have very low signal strengths, downloading the broadcast ephemeris is frequently difficult and sometimes impossible. Response to these obstacles, some prior and current GPS implementations make use of a terrestrial wireless or wired communication medium for transmitting the broadcast ephemeris to a GPS. These GPS implementations are commonly known as “Assisted-Global-Positioning Systems” or, simply, AGPSs.
Recently, the GNSS began using the AGPS (or an AGPS-like system) to provide to the GNSS receiver other types of assistance information along with or instead of the broadcast ephemeris. This assistance information may include acquisition-assistance information to assist in acquiring the satellite signals; one or more types of the satellite-navigation data, including, for example, long-term orbit and clock models (collectively LTO information), and any other information that the may be used to acquire the satellite signals and/or determine the position of the GNSS receiver.
To be able to acquire the satellite signals and/or determine the position of the GNSS receiver with appropriate accuracy, the GNSS receiver uses the assistance data only while it is valid. The assistance data (regardless of its type) is valid for a given amount of time or “validity period.” For example, the validity period for acquisition-assistance information is generally several minutes. The validity period for the broadcast ephemeris is a few (i.e., 2-4) hours. The validity period for the LTO information is any amount of time greater than the validity period for the broadcast ephemeris, and may be a few days, a week or more.
When the validity period expires, the assistance data has to be retired and replaced with “fresh” assistance data. Using the assistance data after its validity period expires may prevent acquisition of the satellites and/or cause a significant amount of error in a computed position of the GNSS receiver. Similarly, the satellite-navigation data, such as stored ephemeris and/or LTO information, may become invalid or be less accurate than broadcast ephemeris despite having an unexpired validity period.
This can happen, for example, when a clock within a given satellite drifts outside an expected range or an orbit of a given satellite unexpectedly changes beyond an expected range (i) between the time that the assistance data is delivered and used by the GNSS receiver, and/or (ii) during the validity period of the assistance data. Using such assistance data may prevent acquisition of the satellites and/or cause a significant amount of error in a computed position of the GNSS receiver.
Therefore, there exists a need in the art for a method and apparatus for accurately computing a first position of the GNSS receiver using assistance data when broadcast ephemeris is unavailable, and when available, accurately computing a second or subsequent position using at least one portion of the broadcast ephemeris decoded from one or more satellite-navigation messages as a substitute for at least one portion of the assistance data.